package com.ctshk.rpc.stamp.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * <p>
 * 缴纳印花税 请求入参
 * </p>
 *
 * @author xietao
 * @since 2021-03-12
 */
@Data
@ApiModel(value = "缴纳印花税接口入参对象", description = "缴纳印花税接口入参数据")
public class LevyRequest implements Serializable {

    @NotBlank(message = "收据号码不能为空")
    @ApiModelProperty(value = "收据号码")
    private String receiptNumber;

    @NotBlank(message = "旅行者/付款人或公司的名称不能为空")
    @ApiModelProperty(value = "旅行者/付款人或公司的名称，以中文或简体中文")
    private String nameOfTravelerPayer;

    @NotBlank(message = "出发日期不能为空")
    @ApiModelProperty(value = "出发日期为YYYY-MM-DD格式")
    private String departureDate;

    @NotBlank(message = "联系电话号码最后4位不能为空")
    @Size(min = 4,message = "联系电话号码最后4位数字的4位数值")
    @ApiModelProperty(value = "联系电话号码最后4位数字的4位数值")
    private String last4DigitOfContactPhoneNumber;

    @NotBlank(message = "缴纳金额不能为空")
    @ApiModelProperty(value = "缴纳金额," +
            "旅行团/定制包团：（团费+增减项目-优惠金额（折扣、银行优惠、推广码、积分））* 0.15%" +
            "套票：（套票费用-优惠金额（折扣、银行优惠、推广码、积分））*0.15%")
    private String premiumReceived;

    @NotNull(message = "业务类型不能为空")
    @ApiModelProperty(value = "业务类型,枚举SystemBusinessType")
    private Integer businessType;

    @NotNull(message = "用户ID不能为空")
    @ApiModelProperty(value = "用户ID")
    private Long userId;
}
